% !Mode:: "TeX:UTF-8"

\chapter{软件功能测试}
\section{项目背景}

\begin{itemize}
\item{测试软件}：饿了么
\item{测试版本}：微服务架构版本
\item{开发背景}：随着移动互联网的普及、线上订餐市场的发展，饿了么以其便捷、多样化的服务和强大的平台资源，成为了中国本地生活服务领域的领军企业之一。我们决定体验开发软件的过程，于是决定选择该项目作为实践项目。
\item{开发环境}：前端：Vue-Cil；~后端：使用SpringToolSuite4进行开发，MySql作为数据库
\item{测试工具}：使用postman及前端发送请求
\end{itemize}
\section{测试目标}
本次测试的主要目的是测试软件的功能可用性及完整性，查找潜在的软件缺陷，前后端连接是否成功，并验证微服务架构是否正常运行。

\section{测试概述}
\begin{itemize}
\item{测试范围}：本次测试范围包括：
~

~
前端：登录、注册业务，订餐业务，积分业务等
~

~
后端：用户管理，商家管理，积分管理，食品管理等。
\begin{figure}[htbp]
    \centering
    \vspace{-2.0em}
    \includegraphics[width=0.8\textwidth]{sheet1}
    \caption{测试范围}\label{fig:sheet1}
    \vspace{\baselineskip}
    \end{figure}

\item{测试人员及时间}：

\begin{figure}[htbp]
    \centering
    \vspace{-2.0em}
    \includegraphics[width=0.9\textwidth]{sheet2}
    \vspace{-2.0em}
    \caption{测试人员及时间}\label{fig:sheet2}
    \vspace{\baselineskip}
    \end{figure}

\item{测试环境}：
\begin{figure}[htbp]
    \centering
    \vspace{-2.0em}
    \includegraphics[width=0.9\textwidth]{sheet3}
    \vspace{-2.0em}
    \caption{前后端环境}\label{fig:sheet3}
    \vspace{\baselineskip}
    \end{figure}

\end{itemize}

~

~

~

~

~

~

~

~
\section{测试过程评估}
\begin{itemize}
\item{总体评估}：
\begin{figure}[htbp]
    \centering
    \vspace{-2.0em}
    \includegraphics[width=0.7\textwidth]{sheet4}
    \vspace{-3.0em}
    \caption{总体评估}\label{fig:sheet4}
    \vspace{\baselineskip}
    \end{figure}

\item{测试用例执行情况分析}：

\begin{figure}[htbp]
    \centering
    \vspace{-2.0em}
    \includegraphics[width=0.7\textwidth]{sheet5}
    \vspace{-3.0em}
    \caption{测试用例执行情况分析}\label{fig:sheet5}
    \vspace{\baselineskip}
    \end{figure}
\item{缺陷统计}：

\begin{figure}[htbp]
    \centering
    \vspace{-2.0em}
    \includegraphics[width=0.8\textwidth]{sheet6}
    \vspace{-3.0em}
    \caption{缺陷统计}\label{fig:sheet6}
    \vspace{\baselineskip}
    \end{figure}

~~~~~~~~系统共有缺陷31个，致命缺陷会导致该模块无法运行，共有5个，严重缺陷会导致返回页面错误或处理结果错误，共9个，一般缺陷是异常情况处理不恰当，共有15个，微小缺陷是前端接收或显示错误，共有2个。
~

~
\item{缺陷分析及修复}：
\begin{itemize}
    \item{缺陷主要分为以下几个方面：}
    前后端连接错误、后端业务错误、配置文件错误、gateway插件错误
     
   
    \item{针对问题的解决措施：}

        ~~~~~~~~针对前后端连接错误，我们修改前后端接口以及后端接收请求格式以及前端发送请求格式，解决了这个缺陷。
       
        ~~~~针对后端业务错误，在检查报错信息后，发现有很多是由于参数无法正确解析和绑定导致数据库返回异常产生，于是我在mapper层将所有参数重新使用注解绑定，解决了这个缺陷。针对后端查找返回空的情况，我们修改返回码404为204，解决了前端处理错误缺陷；针对token无法自动更新问题，我们设置一个token期限，当超时之后需要用户重新登录。

        ~~~~~~~针对配置文件错误，由组长统一管理所有配置文件并进行配置文件的配置。
      
        ~~~~~~针对gateway插件莫名其妙导致服务熔断问题，我们选择增加新的容错机制来解决。
         

    \end{itemize}

\end{itemize}


\section{测试总结}
本次测试共编写了160测试用例行测试用例全部执行，发现系统缺陷31个，修复系统缺陷30个，余下一个是熔断问题还时有发生，不影响使用，因此新版本无功能不可用及影响流程问题，无功能实现有误不能操作问题，可以交付。

